﻿package planningsbord_v4.gui {
	
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.text.*;
	
	/* Class voor een navigatie kolom op het planningsbord */
	public class NavigatieKolom extends Sprite {
		
		private var xPos:Number;
		private var yPos:Number;
		private var breedte:Number;
		private var hoogte:Number;
		private var fontFormat:TextFormat;
		private var prullenbak:Loader = new Loader();
		
		/* Default constructor voor de NavigatieKolom*/
		public function NavigatieKolom(xPos:Number, yPos:Number, breedte:Number, hoogte:Number) {
			this.xPos = xPos;
			this.yPos = yPos;
			this.breedte = breedte;
			this.hoogte = hoogte;
			fontFormat = new TextFormat;
			fontFormat.size = 20;
			fontFormat.align = "center";
			
			prullenbak.load(new URLRequest("images/prullenbak.jpg"));
			
			tekenKolom();
		}
		
		private function tekenKolom() {
			// teken body
			this.graphics.clear();
			this.graphics.lineStyle( 2, 0x000000, 1 );
			this.graphics.beginFill(0xFFFFFF);
			this.graphics.drawRoundRect(xPos, yPos, breedte, hoogte, 20);
			this.graphics.endFill();
			
			// klok
			var clock:Loader = new Loader();
			clock.y = 30;
			clock.x = 15;
			clock.scaleX = 0.7;
			clock.scaleY = 0.7;
			clock.load(new URLRequest("actionscript-analog-clock.swf"));
			this.addChild(clock);
			
			// datum veld
			var now:Date = new Date();
			var dateLabel: TextField = new TextField();
			
			dateLabel.text = now.getDate()+"-"+(now.getMonth()+1)+"-"+now.getFullYear();
			dateLabel.y = 200;
			dateLabel.width = this.breedte;
			dateLabel.setTextFormat(fontFormat);
			this.addChild(dateLabel);
			
			// Prullenbak
			prullenbak.x = 35;
			prullenbak.y = 570;
			this.addChild(prullenbak);
		}
		
		public function getPrullenbak():Loader {
			return prullenbak;
		}
		
		/* De volgende functies overschrijven de functies van de Sprite class*/
		
		override public function get width():Number {
			return breedte;
		}
		override public function set width(nieuweWaarde:Number):void {
			breedte = nieuweWaarde;
			tekenKolom();
		}
		override public function get height():Number {
			return hoogte;
		}
		override public function set height(nieuweWaarde:Number):void {
			hoogte = nieuweWaarde;
			tekenKolom();
		}
		override public function get x():Number {
			return xPos;
		}
		override public function set x(nieuweWaarde:Number):void {
			xPos = nieuweWaarde;
			tekenKolom();
		}
		override public function get y():Number {
			return yPos;
		}
		override public function set y(nieuweWaarde:Number):void {
			yPos = nieuweWaarde;
			tekenKolom();
		}
		/* *********************************************************************** */
		
	}
}
